package com.cskaoyan.javase.array._3exception._2null;

/**
 * 长度为0数组的用途
 * 假如方法的返回值是一个数组（或者其它容器），而又有无返回数据的需求，这个时候普遍有两种做法
 *
 * 返回一个长度为0的数组（或者其它容器）
 * 返回null
 *
 * @since 15:41
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) {

    }

    /*
        需求: 假如方法会根据传入的参数返回不同个数的结果
            1.如果参数大于0,方法返回两个结果
            2.如果参数小于0,方法返回一个结果
            3.如果参数就是0,方法没有任何结果
         显然该方法需要返回一个容器,比如一个int数组之类的.
      */
    public static int[] getResult(int num) {
        // 为了返回结果,需要先创建出该容器
        int[] result = new int[]{};
        if (num > 0) {
            result = new int[]{1, 2};
            // return result;
        }
        // 代码运行到这里,num一定是小于等于0的,所以不要再写else了
        if (num < 0) {
            result = new int[]{1};
            // return result;
        }
        // 代码运行到这里,num一定是0
        /*
            这里表示方法没有结果,可以选择两种表示方式:
                1.长度为0的数组,肯定没有结果
                2.引用数据类型的特殊取值: null
         */
        // result = new int[]{};
        return result;
    }
}
